﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Styx.WoWInternals;
using System.Xml;
using System.Runtime.Serialization;
using Styx.Helpers;
using TreeSharp;
using ObjectManager = Styx.WoWInternals.ObjectManager;
using Styx.Logic.Inventory;

namespace Healz.Druid
{
    public class Config : Styx.Helpers.Settings
    {

        public Config()
            : base(Path.Combine(Path.Combine(Logging.ApplicationPath, "Settings"), string.Format("Healz_Druid_{0}.xml", Styx.StyxWoW.Me.Name)))
        {
            Utils.Write("Loading Class [Druid]");
            Utils.WriteDebug("TreeOfLife People: {0}", TreeOfLife_People);
            Utils.WriteDebug("TreeOfLife Percent: {0}", TreeOfLife_Percent);
            Utils.WriteDebug("Innervate Percent: {0}", Innervate_Percent);
            Utils.WriteDebug("Rejuvenation Percent: {0}", Rejuvenation_Percent);
            Utils.WriteDebug("Regrowth Percent: {0}", Regrowth_Percent);
            Utils.WriteDebug("Swiftmend Percent: {0}", Swiftmend_Percent);
            Utils.WriteDebug("Lifebloom Percent: {0}", Lifebloom_Percent);
            Utils.WriteDebug("Nourish Percent: {0}", Nourish_Percent);
            this.Save();
        }

        // Tree Of Life
        [Setting(Explanation = "How many people need to be under 'TreeOfLife_Percent'"), DefaultValue(3)]
        public int TreeOfLife_People { get; set; }
        [Setting(Explanation = "Percent before trigger"), DefaultValue(60)]
        public int TreeOfLife_Percent { get; set; }

        // Innervate
        [Setting(Explanation = "Percent - To innervate at"), DefaultValue(45)]
        public int Innervate_Percent { get; set; }

        // Rejuvenation
        [Setting(Explanation = "Percent - To Rejuv at"), DefaultValue(93)]
        public int Rejuvenation_Percent { get; set; }

        // Regrowth
        [Setting(Explanation = "Percent - To Regrowth at"), DefaultValue(70)]
        public int Regrowth_Percent { get; set; }

        // Swiftmend
        [Setting(Explanation = "Percent - To Swiftmend at"), DefaultValue(35)]
        public int Swiftmend_Percent { get; set; }

        // Lifebloom
        [Setting(Explanation = "Percent - To Lifebloom at"), DefaultValue(65)]
        public int Lifebloom_Percent { get; set; }

        // Nourish
        [Setting(Explanation = "Percent - To Nourish at - Will only use when Buff Active"), DefaultValue(65)]
        public int Nourish_Percent { get; set; }


    }
}
